10 REM COPYRIGHT 1989 COMPUTE! PUBLICATIONS, INC. - ALL RIGHTS RESERVED 20 PRINT"[147][144]"TAB(12)"COPYRIGHT 1989" 30 PRINTTAB(7)"COMPUTE! PUBLICATIONS, INC." 40 POKE53287,0 50 PRINTTAB(10)"ALL RIGHTS RESERVED" 60 FORTT=0TO3000:NEXT 70 GOSUB1740:GOSUB1490:GOSUB1640 80 GOSUB1210:KN=0:TN=0 90 PRINTLEFT$(CD$,VT(DL)+1)TAB(21+(DL=1ORDL=4)*9)"DEALER" 100 TN=TN+1:FORL=1TO4 110 ONPUGOSUB150,420,420,420:PRINTCD$" " 120 PU=PU+1+(PU>4-1)*4:IFKN<>PUANDDP<52THENNEXT:GOTO100 130 GOSUB720:DL=DL+1+(DL>4-1)*4:GOTO80 140 REM======== P L A Y E R ============ 150 IFPT(1)<1THENRETURN 160 POKESH,152:POKESV,154:POKESP,1:T1=1:T2=152:T3=48:T4=154:WC=3 170 PRINTCD$" CHOOSE FROM DISCARDS OR DECK":GOSUB320 180 IFMVTHEN200 190 DP=DP+1:UC=DP:PRINTLEFT$(CD$,12)TAB(21);:C3=DK(DP,3):C4=DK(DP,1):GOSUB1420 200 POKESH,40:POKESV,114:T1=2:T2=40:T3=24:T4=114 210 PRINTCD$" CHOOSE CARD TO DISCARD ":GOSUB320 220 IFUP=0THEN270 230 PRINTLEFT$(CD$,12)TAB(21);:C3=DK(HN(1,MV+1),3):C4=DK(HN(1,MV+1),1) 240 GOSUB1420 250 WC=MV+1:PRINTLEFT$(CD$,7)TAB(MV*3+1);:C3=DK(UC,3):C4=DK(UC,1):GOSUB1420 260 T=UC:UC=HN(1,MV+1):HN(1,MV+1)=T 270 POKESP,0:IFKNTHEN300 280 PRINTCD$" DO YOU WANT TO KNOCK? [Y/N]":GOSUB1010:GOSUB390 290 IFQ$="Y"ORJS=30THENPRINTLEFT$(CD$,8)TAB(12)"KNOCK!":KN=1:KT=TN:GOSUB1070 300 RETURN 310 REM======== C H O O S E ============ 320 MV=0:UP=1:POKE198,0:GOSUB1010 330 GOSUB390:FORL1=1TO99:NEXT:IFQ$=CHR$(13)ORJS=15THENRETURN 340 IFQ$="^"ORJS=23THENMV=MV+1:IFMV>T1THENMV=0 350 IFQ$="*"ORJS=27THENMV=MV-1:IFMV<0THENMV=T1 360 IFQ$="="ORJS=29THENPOKESH,200:POKESV,154:UP=0:MV=1:GOTO330 370 UP=1:POKESH,T2+MV*T3:POKESV,T4:GOTO330 380 REM========= I N P U T ============= 390 GETQ$:JS=PEEK(56320)AND31:IFQ$=""ANDJS=31THEN390 400 WAIT56320,16,15:RETURN 410 REM====== C O M P U T E R ========== 420 IFPT(PU)<1THENSC(PU)=0:RETURN 430 GOSUB650 440 IF(DK(UC,2)<5ORKN)ANDSC(PU)<21+(PL=2)THEN490 450 T=99:XC=LC:FORL1=1TO4 460 IFDK(HN(PU,L1),3)<>CSTHENXC=L1 470 NEXT 480 IFXC<4THENPRINTCD$" "PL$(PU)" TAKES THE DISCARD ":GOSUB1040:GOTO550 490 DP=DP+1:UC=DP:PRINTCD$" "PL$(PU)" PICKS FROM THE DECK " 500 GOSUB1040:GOSUB650 510 T=99:XC=LC:FORL1=1TO4 520 IFDK(HN(PU,L1),3)<>CSTHENXC=L1 530 NEXT:IFXC<4THEN550 540 PRINTLEFT$(CD$,12)TAB(21);:C3=DK(UC,3):C4=DK(UC,1):WC=3:GOSUB1420:GOTO580 550 PRINTLEFT$(CD$,12)TAB(21);:C3=DK(HN(PU,XC),3):C4=DK(HN(PU,XC),1):WC=3 560 GOSUB1420 570 T=UC:UC=HN(PU,XC):HN(PU,XC)=T 580 T=21-(TN>2)*1+-(TN>4)*1+-(TN>6)*1+(PL=2):IFPT(1)>0THEN610 590 FORL1=1TO3:PRINTLEFT$(CD$,VT(PU))TAB(HT(PU)+(L1*3-3)); 600 C3=DK(HN(PU,L1),3):C4=DK(HN(PU,L1),1):WC=L1:GOSUB1420:NEXT 610 IFKN<>0ORCCCCTHENCC=T:CS=L1:LC=L2:SC(PU)=CC 700 NEXT:NEXT:RETURN 710 REM========= K N O C K ============= 720 POKE198,0 730 IFDP=52THENPRINTCD$" NO MORE CARDS!":GOSUB1040 740 PU=1:SC(1)=0:UC=0:GOSUB650:SC(1)=CC 750 T=0:T1=0:T2=0:FORL1=1TO4:IFPT(L1)<1THEN810 760 PRINTLEFT$(CD$,VT(L1)+3)TAB(23+(L1=1ORL1=4)*11)""SC(L1):GOSUB1010 770 IFL1<>KNTHENIFSC(L1)=>SC(KN)THENT=T+1:IFSC(L1)>T1THENT1=SC(L1) 780 FORL2=1TO3 790 PRINTLEFT$(CD$,VT(L1))TAB(HT(L1)+(L2*3-3)); 800 C3=DK(HN(L1,L2),3):C4=DK(HN(L1,L2),1):WC=L2:GOSUB1420:NEXT 810 NEXT 820 IFDP=52THENPRINTCD$" HANDS DUMPED -- NO WINNERS ":GOSUB1040:GOTO920 830 IFT=0THEN860 840 PRINTCD$" "PL$(KN)" LOST TWO POINTS ":PT(KN)=PT(KN)-2 850 PRINTLEFT$(CD$,VT(KN)-2)TAB(HT(KN)+6)-(PT(KN)=>0)*PT(KN);:GOSUB1040:GOTO920 860 T=1:IFKT=1ORSC(KN)=31THENT=2 870 IFT=1THENPRINTCD$" "PL$(KN)" WON THE ROUND " 880 IFT>1THENPRINTCD$" "PL$(KN)" WON A DOUBLE ROUND! " 890 GOSUB1040:FORL1=1TO4:PT(L1)=PT(L1)+(L1<>KN)*T:IFL1=KNORPL(L1)=-1THEN910 900 PRINTLEFT$(CD$,VT(L1)-2)TAB(HT(L1)+6)-(PT(L1)=>0)*PT(L1); 910 NEXT 920 PL=4:FORL1=1TO4:PL=PL+(PT(L1)<1):PL(L1)=(PT(L1)<1):NEXT 930 FORL1=1TO3000:NEXT:GOSUB1010 940 IFPL=1THENPRINTCD$" GAME OVER -- PRESS ANY KEY ":GOSUB390:RUN 950 IFPT(1)>0THEN980 960 PRINTCD$" DO YOU WANT TO WATCH? [Y/N]":GOSUB390 970 ON-(Q$="Y"ORJS=30)GOTO990:RUN 980 PRINTCD$" PRESS ANY KEY TO CONTINUE ":GOSUB390 990 RETURN 1000 REM========== B E E P ============== 1010 POKESR,240:POKEWV,17:POKEHF,50:POKELF,35:POKEAT,0 1020 FORS1=1TO99:NEXT:POKEWV,16:POKESR,0:RETURN 1030 REM========== B O O P ============== 1040 POKEVL,15:POKEAT,0:POKESR,225:POKEWV,17:POKEHF,33:POKELF,33 1050 FORS1=1TO99:NEXT:POKEWV,16:RETURN 1060 REM========= K N O C K ============= 1070 FORS1=1TO3:POKESR,10:POKEWV,129:POKEHF,30:POKEAT,3 1080 FORS2=1TO250:NEXT:POKEWV,128:NEXT:RETURN 1090 REM======= S H U F F L E =========== 1100 PRINTCD$" SHUFFLING THE DECK ":GOSUB1040 1110 IFRD(1)=0THENFORL=1TO52:RD(L)=L:NEXT 1120 FORL=1TO52:T=INT(RND(1)*52+1) 1130 T1=RD(L):RD(L)=RD(T):RD(T)=T1:NEXT 1140 FORL=1TO52 1150 DK(L,1)=RD(L)-13*INT((RD(L)-1)/13) 1160 DK(L,2)=-(DK(L,1)>9)*10-(DK(L,1)=1)*11:IFDK(L,2)=0THENDK(L,2)=DK(L,1) 1170 DK(L,3)=INT((RD(L))/13+.99) 1180 NEXT 1190 RETURN 1200 REM========== D E A L ============== 1210 GOSUB1100:SYS900:RD=RND(-TI) 1220 T=DL:IFPT(DL)<1THENDL=DL+1+(DL>4-1)*4:GOTO1220 1230 FORL1=1TO4:IFPT(L1)<1THEN1290 1240 PRINTLEFT$(CD$,VT(L1)-3)TAB(HT(L1))"[164][164][164][164][164][164][164][164]" 1250 PRINTTAB(HT(L1))"[144]"LEFT$(PL$(L1)+" ",5)" [149]"RIGHT$(STR$(PT(L1)),2) 1260 PRINTTAB(HT(L1))"[165][129][185][185][180][129][185][185][165][129][185][185][185][167]" 1270 FORL2=1TO3:PRINTTAB(HT(L1))"[165][129] [146][180][129] [146][165][129] [146][167]":NEXT 1280 PRINTTAB(HT(L1))"[165][129][184][184][180][129][184][184][165][129][184][184][184][170]" 1290 NEXT 1300 PRINTLEFT$(CD$,12)TAB(14)"[165][129][185][185][185][167] [165]"CR$"[146][165][129] [146][167] [165]"CR$"[146][165]"; 1310 PRINT"[129] [146][167] [165]"CR$"[146][165][129] [146][167] [165]"CR$"[146][165][129][184][184][184][167] [165]" 1320 FORL1=1TO4:FORL2=1TO3:HN(L1,L2)=0:NEXT:NEXT 1330 DP=0:FORL1=1TO3:FORL2=1TO4 1340 T=T+1+(T>4-1)*4:IFPT(T)<1THEN1380 1350 DP=DP+1:HN(T,L1)=DP:IFT>1ANDPT(1)>0THEN1380 1360 PRINTLEFT$(CD$,VT(T))TAB(HT(T)+(L1*3-3));:C3=DK(DP,3):C4=DK(DP,1):WC=L1 1370 GOSUB1420 1380 NEXT:NEXT:DP=DP+1:UC=DP 1390 PRINTLEFT$(CD$,12)TAB(21);:C3=DK(DP,3):C4=DK(DP,1):GOSUB1420 1400 PU=T+1+(T>4-1)*4:RETURN 1410 REM== D I S P L A Y C A R D ====== 1420 IFWC<3THEN1450 1430 T$="[165][146][157][157][157][157][157]"+CO$(C3):PRINT"[146]"CO$(C3)C1$(C4)" "T$SU$(C3)" "; 1440 PRINTT$" "T$" "SU$(C3)T$" "C2$(C4)T$"":RETURN 1450 T$="[157][157][157]" 1460 PRINT"[146]"CO$(C3)C1$(C4)"[167]"T$CO$(C3)SU$(C3)" [167]"T$" [167]"T$" [167]"T$" [167]" 1470 RETURN 1480 REM======= O P T I O N S =========== 1490 POKE53281,15:POKE53280,6 1500 PRINT"[147][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][210][146][164][164][164] K N O C K "; 1510 PRINT"T H I R T Y O N E [146][164][164][164][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][157][148][183] 1520 [153]CD$"ONCMDCMDCMDCMD ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^ CMDSAVE " 1530 [153]" (null)"[163]36)"(null) /TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXP CMDSAVE " 1540 [158]900 1550 [153]CD$" STARTING POINTS [10] ":[141]1010:T[178]10 1560 [141]390:[139]Q$[178][199](13)[176]JS[178]15[167]1600 1570 [139]Q$[178]"\"[176]JS[178]30[167]T[178]T[170]5:[139]T[177]25[167]T[178]5 1580 [139]Q$[178]"="[176]JS[178]29[167]T[178]T[171]5:[139]T[179]5[167]T[178]25 1590 [153]CD$[163]28)""[201]([196](T),2)"":[137]1560 1600 [129]L[178]1[164]4:PT(L)[178]T:[153][200](CD$,VT(L)[171]3)[163]HT(L))"TOTOTOTOTOTOTOTO" 1610 [153][163]HT(L))"STOP"[200](PL$(L)[170]" ",5)" VERIFY"[201]([196](PT(L)),2):[130] 1620 [142] 1630 [143]======== D E A L E R ============ 1640 [141]1100:T[178]0:WC[178]3 1650 [153]CD$" FIRST ACE DEALS ":[141]1040 1660 [129]L1[178]1[164]52:T[178]T[170]1[170](T[177]4[171]1)[172]4 1670 [153][200](CD$,VT(T))[163]HT(T));:C3[178]DK(L1,3):C4[178]DK(L1,1):[141]1420 1680 [129]L2[178]1[164]350:[130] 1690 [139]DK(L1,1)[178]1[167]1720 1700 [153][200](CD$,VT(T))[163]HT(T)); 1710 [153]" CMDCMDCMDCMDCMD CMDCMDCMDCMDCMD CMDCMDCMDCMDCMD CMDCMDCMDCMDCMD ":[130] 1720 DL[178]T:[142] 1730 [143]==== I N I T I A L I Z E ======== 1740 PL[178]4:PL$[178]" 20 5 0":CR$[178]"CMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMD":CD$[178]"" 1750 LF[178]54272:HF[178]54273:WV[178]54276:AT[178]54277:SR[178]54278:[151]LF[170]24,15 1760 SH[178]53248:SV[178]53249:SP[178]53269:[151]2040,13:[151]SP,0:[151]SH,85:[151]SV,85 1770 [134] CC,C3,C4,CS,DL,DP,TN,KN,T,T1,T2,T3,T4,L,L1,L2,L3,PL,XC,LC,MV,UC,WC,Q$ 1780 [134] C1$(13),C2$(13),PL$(4) 1790 [134] DK(52,3),HT(4),VT(4),HN(4,4),PT(4),PL(4),RD(52),SC(4) 1800 [129]L[178]1[164]4:[135]PL$(L),HT(L),VT(L):[130] 1810 [129]L[178]1[164]13:[135]C1$(L),C2$(L):[130] 1820 [129]L[178]1[164]4:[135]CO$(L),SU$(L):[130] 1830 [139][194](895)[178]188[167]1860 1840 [129]L[178]0[164]33:[135]D:[151]900[170]L,D:[130] 1850 [129]L[178]0[164]63:[135]D:[151]832[170]L,D:[130] 1860 [142] 1870 [131] "YOU ",1,7,COMP1,28,7,COMP2,28,17,COMP3,1,17 1880 [131]"A "," A","2 "," 2","3 "," 3","4 "," 4","5 "," 5","6 "," 6","7 "," 7" 1890 [131]"8 "," 8","9 "," 9","10","10","J "," J","Q "," Q","K "," K" 1900 [131] "STOP","ATN","","(null)","","(null)","STOP","(null)" 1910 [131] 162,190,169,160,157,119,4,157,53,5,157,243,5,157,177,6,169,6,157,119 1920 [131] 216,157,53,217,157,243,217,157,177,218,202,208,225,96 1930 [131]255,240,000,255,224,000,131,192 1940 [131]000,135,128,000,143,192,000,153 1950 [131]224,000,188,248,000,247,060,000 1960 [131]225,159,000,192,231,128,000,051 1970 [131]128,000,031,000,000,006,000,000 1980 [131]000,000,000,000,000,000,000,000 1990 [131]000,000,000,000,000,000,000,000 2000 [131]000,000,000,000,000,000,000,188